Practical Parallel Nesting for Software Transactional Memory
نویسندگان
چکیده
Transactional Memory (TM) provides a strong abstraction to tackle the challenge of synchronizing concurrent tasks that access shared state. Yet, most TMs do not allow a single transaction to contain parallel code. We propose an efficient parallel nesting algorithm to explore existing latent parallelism within a transaction. If this intra-transaction parallelism has reduced conflict probability (compared to the inter-transaction parallelism), then it may be worthy to execute less transactions at a given time, but have each one parallelized and using several available cores. We provide practical support for parallel nesting in the first lock-free parallel nesting algorithm with support for multi-versions. Our prototype builds over an available multi-version TM, which we outperform on standard benchmarks by up to 2.8×. We show improvements over parallel nesting alternatives of up to 3.6×.
منابع مشابه
Practical and Lock-free Parallel Nesting for Software Transactional Memory
Transactional Memory (TM) provides a strong abstraction to tackle the challenge of synchronizing concurrent tasks that access shared state. Yet, at the same time, TM inhibits the programmer from fully exploring the latent parallelism in his application. In particular, it does not allow a transaction to contain parallel code. This fact limits the expressiveness of TM as a synchronization mechani...
متن کاملParallel nesting in a lock-free multi-version Software Transactional Memory
Many applications contain large operations that must be performed atomically, which typically leads to many conflicts in optimistic concurrency control mechanisms such as those used by most Transactional Memory (TM) systems. Yet, sometimes these operations could be executed faster if their latent parallelism was used efficiently, but unfortunately few TM systems allow a transaction to be split ...
متن کاملSystem Challenges and Opportunities for Transactional Memory a Dissertation Submitted to the Department of Electrical Engineering and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Recent trends in architecture have made chip multiprocessors (CMPs) increasingly common. CMPs provide programmers with an unprecedented opportunity for parallel execution. Nevertheless, the key factor limiting their potential is the complexity of parallel application development using primitives such as locks and condition variables. While transactional memory (TM) is a technique that helps wit...
متن کاملImproving the Practicality of Transactional Memory a Dissertation Submitted to the Department of Electrical Engineering and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Transactional Memory (TM) simplifies parallel programming by transferring responsibility for concurrency management from the programmer to the system. Nevertheless, a number of challenges must be addressed for TM to be widely adopted. This dissertation presents work towards improving the practicality of TM across three dimensions. The first challenge addressed is that of integrating TM with pop...
متن کاملSelf-tuning the parallelism degree in Parallel-Nested Transactional Memory
In this document we present an overview of Transactional Memory models, as well as a comparison to traditional parallel frameworks. In this context, we follow with an analysis on the problem of self-tuning concurrency control in transactional memory, where different mechanisms are used to predict and adjust an application’s concurrency level with respect to available parallelism. We are particu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013